Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
With the advance of networking and data processing technologies, an increasingly high number of services are provided through cloud based service providers. Customer data may be stored and applications hosted at cloud based on requirements specified by Service Level Agreements (SLAs). As the number of cloud based service providers and competition increases, cloud-to-cloud migration of applications and data is becoming a common phenomenon. Even within a cloud based service, data and applications may be moved from one or more servers (a site) to another for various purposes.
Moving an application from an existing cloud to a new cloud may involve negotiation of multiple parameters. For example, if an online retail marketplace is to be moved to a new cloud, then parameters such as transaction processing benchmarks, data redundancy, data security, etc. may need to be available in the target cloud with specific values. Negotiation of performance levels through SLAs may be a cumbersome process and may not always provide an accurate picture, because SLA parameters may be defined differently for different clouds or may not be defined at all in some cases.
Furthermore, some clouds may not be willing to take on the responsibility of judging the performance of another cloud. For example, a source cloud may not take the risk of providing performance predictions about one or more target clouds to its customers, or conversely, the source cloud may not be willing to share its performance information with a target cloud attempting to lure away a customer. Thus, cloud-to-cloud migration through conventional approaches lacks features that can make it automated, reliable, and flexible.